package ziface

// IServer 服务器接口
type IServer interface {
	// Start 启动服务器
	Start()
	// Stop 停止服务器
	Stop()
	// Serve 运行服务器
	Serve()
	// AddRouter 给当前的服务注册一个路由方法，供客户端的连接使用
	AddRouter(msgId uint32, router IRouter)
	// GetConnMgr 返回当前Server的连接管理器
	GetConnMgr() IConnManager
	// SetOnConnCreate 注册OnConnCreate钩子函数的方法
	SetOnConnCreate(func(connection IConnection))
	// SetOnConnDestroy 注册OnConnDestroy钩子函数的方法
	SetOnConnDestroy(func(connection IConnection))
	// CallOnConnCreate 调用OnConnCreate钩子函数的方法
	CallOnConnCreate(connection IConnection)
	// CallOnConnDestroy 调用OnConnDestroy钩子函数的方法
	CallOnConnDestroy(connection IConnection)
}
